﻿#ifndef VERTEXITEM_H
#define VERTEXITEM_H

#include <QGraphicsItem>
#include <QVector>
#include <QPainter>

class VertexItem : public QObject, public QGraphicsItem
{
 Q_OBJECT
public:
    explicit VertexItem(QGraphicsItem *parent = 0);
    void setXX(int);
    void setYY(int);
    void setIndex(int);
    void addLink(int);
    void removeLink(int);
    void setName( QString );
    bool isLinkWith( int );

    int getIndex();

    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);

    QRectF boundingRect() const
    {
        qreal penWidth = 1;
        return QRectF(-10 - penWidth / 2, -10 - penWidth / 2,
                      20 + penWidth, 20 + penWidth);
    }

private:
    int x,y,index;      //координаты, порядковый номер
    QString name;       //название вершины
    QVector<int> links; //связи с другими вершинами

signals:
    
public slots:


    
};

#endif // VERTEXITEM_H
